home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
prolog
/
sbprolog
/
v3
/
bench.lha
/
bench
/
nrev.P.asl
< prev
next >
Wrap
Text File
|
1992-08-12
|
4KB
|
213 lines
label((nrev,2,14)).
switchonlist(1,(nrev,2,'12nil'),(nrev,2,'13lis')).
label((sot_label,-1,15)).
try((nrev,2,12),2).
trust((nrev,2,13),2).
label((nrev,2,12)).
getnil(1).
label((nrev,2,'12nil')).
getnil(2).
proceed.
label((nrev,2,13)).
allocate(5).
getlist(1).
jump((nrev,2,17)).
label((nrev,2,'13lis')).
allocate(5).
getlist_k(1).
label((nrev,2,17)).
unipvar(2).
unitvar(1).
getpvar(3,2).
putpvar(4,2).
call(nrev,2,5).
putuval(4,1).
putlist(2).
bldpval(2).
bldnil.
putuval(3,3).
deallocate.
execute((append,3)).
label((append,3,35)).
switchonlist(1,(append,3,'33nil'),(append,3,'34lis')).
label((sot_label,-1,36)).
try((append,3,33),3).
trust((append,3,34),3).
label((append,3,33)).
getnil(1).
label((append,3,'33nil')).
gettval(2,3).
proceed.
label((append,3,34)).
getlist(1).
unitvar(4).
unitvar(1).
jump((append,3,38)).
label((append,3,'34lis')).
getlist_k(1).
unitvar(4).
unitvar(1).
label((append,3,38)).
getlist(3).
unitval(4).
unitvar(3).
switchonlist(1,(append,3,'33nil'),(append,3,'34lis')).
try((append,3,33),3).
trust((append,3,34),3).
label((bench,1,53)).
allocate(6).
getpvar(2,1).
putpvar(3,1).
call(cputime,1,6).
putpval(2,1).
call(dodummy,1,6).
putpvar(4,1).
call(cputime,1,6).
putpval(2,1).
call(dobench,1,6).
putpvar(5,1).
call(cputime,1,6).
putuval(2,1).
putuval(3,2).
putuval(4,3).
putuval(5,4).
deallocate.
execute((report,4)).
label((dobench,1,66)).
label((sot_label,-1,67)).
try((dobench,1,64),1).
trust((dobench,1,65),1).
label((dobench,1,64)).
allocate(5).
getpvar(2,1).
putpvar(3,1).
call(data,1,5).
putpval(2,1).
call(repeat,1,5).
putpval(3,1).
putpvar(4,2).
call(nrev,2,5).
fail.
deallocate.
proceed.
label((dobench,1,65)).
proceed.
label((dodummy,1,80)).
label((sot_label,-1,81)).
try((dodummy,1,78),1).
trust((dodummy,1,79),1).
label((dodummy,1,78)).
allocate(5).
getpvar(2,1).
putpvar(3,1).
call(data,1,5).
putpval(2,1).
call(repeat,1,5).
putpval(3,1).
putpvar(4,2).
call(dummy,2,5).
fail.
deallocate.
proceed.
label((dodummy,1,79)).
proceed.
label((dummy,2,86)).
proceed.
label((data,1,90)).
putnumcon(30,2).
execute((data,2)).
label((data,2,103)).
switchonlist(1,(data,2,'101nil'),(data,2,'102lis')).
label((sot_label,-1,104)).
try((data,2,101),2).
trust((data,2,102),2).
label((data,2,101)).
getnil(1).
label((data,2,'101nil')).
getnumcon(0,2).
proceed.
label((data,2,102)).
getlist(1).
jump((data,2,106)).
label((data,2,'102lis')).
getlist_k(1).
label((data,2,106)).
unicon(a).
unitvar(1).
movreg(2,3).
jumple(3,abs(-1)).
putnumcon(1,4).
subreg(4,3).
movreg(3,2).
switchonlist(1,(data,2,'101nil'),(data,2,'102lis')).
try((data,2,101),2).
trust((data,2,102),2).
label((repeat,1,118)).
label((sot_label,-1,119)).
try((repeat,1,116),1).
trust((repeat,1,117),1).
label((repeat,1,116)).
proceed.
label((repeat,1,117)).
movreg(1,2).
movreg(2,3).
putnumcon(1,4).
subreg(4,3).
jumple(3,abs(-1)).
putnumcon(1,3).
subreg(3,2).
movreg(2,1).
execute((repeat,1)).
label((report,4,149)).
allocate(10).
getpvar(2,1).
getpvar(3,2).
getpvar(4,3).
getpvar(5,4).
putcon('no. of iterations: ',1).
call(write,1,10).
putpval(2,1).
call(write,1,10).
call(nl,0,10).
putdval(4,1).
putdval(3,2).
subreg(2,1).
getpvar(6,1).
putcon('dummy: ',1).
call(write,1,10).
putpval(6,1).
call(write,1,10).
call(nl,0,10).
putdval(5,1).
putdval(4,2).
subreg(2,1).
getpvar(7,1).
putcon('nrev loop: ',1).
call(write,1,10).
putpval(7,1).
call(write,1,10).
call(nl,0,10).
putdval(7,1).
putdval(6,2).
subreg(2,1).
getpvar(8,1).
putcon('adjusted time: ',1).
call(write,1,10).
putpval(8,1).
call(write,1,10).
call(nl,0,10).
putnumcon(496,1).
putdval(2,2).
mulreg(2,1).
putnumcon(1000,2).
mulreg(2,1).
putdval(8,2).
divreg(2,1).
getpvar(9,1).
putcon('Lips = ',1).
call(write,1,10).
putpval(9,1).
call(write,1,10).
deallocate.
execute((nl,0)).